package d_objectMethod;

//2. 准备一个方法 method .用于接收 函数式接口作为方法参数使用
public class Demo {
    public static void main(String[] args) {
        //lambda表达式优化
        method1("hello", s -> {
            //在这里新建一个类(MyObjectMethod),或这个类的对象
            MyObjectMethod obj = new MyObjectMethod();
            obj.printUpperCase(s);//HELLO
        });

        //方法引用进行优化
        /*
            1.对象已经对象 obj
            2.方法可以通过obj来调用 printUpperCase
         */
        MyObjectMethod obj = new MyObjectMethod();
        method1("hi",obj::printUpperCase);

    }

    //自定义的方法
    public static void method1(String s,Printable p){
        p.print(s);
    }
}
